console.log("✅ content.js 已注入到页面");
// 存储登录状态
let isLoggedIn = false;

// 存储选中的文本
let selectedText = '';
//发布时间
let pushTime = '';

// 监听选中文本事件
document.addEventListener('mouseup', (event) => {
    // 检查点击的元素是否是复制按钮或其子元素
    if (event.target.closest('.copy-title-btn')) {
        return; // 如果是点击按钮，不处理选中文本
    }
    const selection = window.getSelection();
    selectedText = selection.toString().trim();
    console.log('mouseup事件 - 选中的文本:', selectedText);
});

// 检查初始登录状态
function checkLoginStatus() {
    try {
        chrome.storage.local.get(['isLoggedIn'], (result) => {
            const newLoginState = result.isLoggedIn || false;
            if (isLoggedIn !== newLoginState) {
                isLoggedIn = newLoginState;
                console.log("📦 当前 isLoggedIn 状态：", isLoggedIn);
                handleLoginStateChange();
            }
        });
    } catch (error) {
        console.error('存储API访问失败:', error);
    }
}

// 处理登录状态变化
function handleLoginStateChange() {
    if (!isLoggedIn) {
        // 移除所有按钮和标记
        removeAllButtons();
    } else {
        // 根据当前页面添加按钮
        initializeButtons();
    }
}

// 移除所有按钮和标记
function removeAllButtons() {
    // 移除所有复制按钮
    document.querySelectorAll('.copy-title-btn').forEach(btn => btn.remove());
    // 移除达人选择按钮
    document.querySelectorAll('.select-talent-btn').forEach(btn => btn.remove());
    // 移除标记类
    document.querySelectorAll('.title-button-added').forEach(el => {
        el.classList.remove('title-button-added');
    })
    // 移除移动标题按钮
    document.querySelectorAll('.move-title-btn').forEach(btn => btn.remove());
}

// 初始化按钮
function initializeButtons() {
    const hostname = window.location.hostname;
    if (hostname === 'detail.tmall.com' || hostname === 'item.taobao.com' || hostname === 'detail.tmall.hk' || hostname === 'chaoshi.detail.tmall.com') {
        processTmallPage();
    } else if (hostname === 'item.jd.com') {
        processJDPage();
    } else if (hostname === 'mcn.guanghe.taobao.com') {
        processTalentPage();
    } else if (hostname ==='mcn.guanghe.taobao.com/page/talent/home') {
        processTalentHomePage();
    }else if (hostname ==='huodong.taobao.com/wow/z/guang/gg_publish/gg-batch-video') {
        processBatchPublishPage();
    }else if (hostname ==='creator.guanghe.taobao.com/page/goodsPromotion'){
        processGoodsPromotionPage();
    }
}

// 定期检查登录状态
setInterval(checkLoginStatus, 1000);

// 监听登录状态变化
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
    if (request.action === 'loginStatusChanged') {
        isLoggedIn = request.isLoggedIn;
        console.log("🔄 登录状态变化：", isLoggedIn);
        handleLoginStateChange();
    }
});

// 初始化时检查登录状态
checkLoginStatus();

// 格式化文本，去除特殊字符
function formatText(text) {
    return text
        .replace(/[\/\-\~\!\@\#\$\%\^\&\*\(\)\+\=\[\]\{\}\|\\\:\;\"\'\<\>\,\.\?]/g, '') // 移除特殊字符
        .replace(/\s+/g, ' ') // 将多个空格替换为单个空格
        .trim(); // 去除首尾空格
}
// 获取token
async function getToken() {
    // 从缓存中获取tokens
    const tokens = await new Promise((resolve) => {
        chrome.storage.local.get(['accessToken', 'xAccessToken'], (result) => {
            resolve({
                accessToken: result.accessToken,
                xAccessToken: result.xAccessToken
            });
        });
    });

    console.log('获取到的tokens:', tokens);

    // 如果没有token，返回空数组
    if (!tokens.accessToken && !tokens.xAccessToken) {
        console.log('未找到token');
        return [];
    }
    return tokens;
}
// 将标题复制到剪贴板
function copyToClipboard(text) {
    try {
        // 格式化文本
        const formattedText = formatText(text);
        console.log('格式化前:', text);
        console.log('格式化后:', formattedText);

        const textArea = document.createElement('textarea');
        textArea.value = formattedText;
        document.body.appendChild(textArea);
        textArea.select();
        document.execCommand('copy');
        document.body.removeChild(textArea);
        console.log('标题已复制到剪贴板=>', formattedText);
        try {
            window.location.href = "meikevtool://workflow?title=" + encodeURIComponent(formattedText)
        } catch (openError) {
            console.error('打开客户端失败:', openError);
        }
    } catch (err) {
        console.error('复制失败:', err);
    }
}

// 处理京东商品页面
function processJDPage() {
    if (!isLoggedIn) return;

    const titleContainer = document.querySelector('.sku-name-title');
    if (!titleContainer || titleContainer.classList.contains('title-button-added')) return;

    // 创建复制按钮
    const copyButton = document.createElement('div');
    copyButton.className = 'copy-title-btn';
    // 创建图片元素
    const buttonImg = document.createElement('img');
    buttonImg.src = chrome.runtime.getURL('images/icon128.png');
    buttonImg.style.cssText = `
        width: 30px;
        height: 30px;
    `;
    
    // 创建文本容器
    const textSpan = document.createElement('span');
    textSpan.innerText = '发送到创意魔方';
    textSpan.style.cssText = `
        margin-left: 12px;
        margin-right: 12px;
    `;
    copyButton.appendChild(buttonImg);
    copyButton.appendChild(textSpan);
    copyButton.style.cssText = `
        width: 150px;
        white-space: nowrap;
        height: 30px;
        display: flex;
        align-items: center;
        margin-left: 10px;
        background-color: #fff;
        color: #000;
        border: 1px solid #000000;
        border-radius: 0px 14px 14px 0px;
        cursor: pointer;
        font-size: 12px;
        vertical-align: middle;
        position: relative;
        z-index: 1000;
    `;

    // 添加点击事件
    copyButton.onclick = function(e) {
        if (!isLoggedIn) {
            alert('请先登录后再使用此功能！');
            return;
        }

        e.preventDefault();
        e.stopPropagation();
        
        // 获取选中的文本，如果没有选中则获取商品标题
        const currentSelectedText = selectedText;
        if (currentSelectedText) {
            console.log('使用选中的文本:', currentSelectedText);
            copyToClipboard(currentSelectedText);
            // 清空选中的文本
            selectedText = '';
            return;
        }else {
        // 获取标题文本（排除按钮和图片的文本）
        const titleText = Array.from(titleContainer.childNodes)
            .filter(node => {
                // 只保留文本节点和非按钮的元素节点
                return (node.nodeType === Node.TEXT_NODE) || 
                      (node.nodeType === Node.ELEMENT_NODE && 
                       !node.classList.contains('copy-title-btn'));
            })
            .map(node => node.textContent || '')
            .join('')
            .trim();

            console.log('使用商品标题:', titleText);
        copyToClipboard(titleText);
        }

        
    };

    // 将按钮添加到标题元素中
    titleContainer.appendChild(copyButton);
    titleContainer.classList.add('title-button-added');
}

// 处理天猫商品页面
function processTmallPage() {
    if (!isLoggedIn) return;

    const titleContainer = document.getElementById('tbpc-detail-item-title');
    if (!titleContainer) return;

    const titleElement = titleContainer.querySelector('h1');
    if (!titleElement || titleElement.classList.contains('title-button-added')) return;

    // 创建复制按钮
    const copyButton = document.createElement('div');
    copyButton.className = 'copy-title-btn';
    // 创建图片元素
    const buttonImg = document.createElement('img');
    buttonImg.src = chrome.runtime.getURL('images/icon128.png');
    buttonImg.style.cssText = `
        width: 30px;
        height: 30px;
    `;
    
    // 创建文本容器 
    const textDiv = document.createElement('div');
    textDiv.innerText = '发送到创意魔方';
    textDiv.style.cssText = `
        padding-left: 12px;
        padding-right: 12px;
        height: 30px;
        line-height: 30px;
        cursor: pointer;
    `;

    // 创建跳转光合佣金div
    const jumpDiv = document.createElement('div');
    jumpDiv.innerText = '光合佣金';
    jumpDiv.style.cssText = `
        padding-left: 12px;
        padding-right: 12px;
        height: 30px;
        line-height: 30px;
        cursor: pointer;
        color: #00A0E9;
        border-right: 1px solid #000000;
    `;

    copyButton.appendChild(buttonImg);
    copyButton.appendChild(jumpDiv);
    copyButton.appendChild(textDiv);
    //  220px
    copyButton.style.cssText = `
        width: 220px;
        white-space: nowrap;
        height: 30px;
        display: flex;
        align-items: center;
        margin-left: 10px;
        background-color: #fff;
        color: #000;
        border: 1px solid #000000;
        border-radius: 0px 14px 14px 0px;
        font-size: 12px;
        vertical-align: middle;
        position: relative;
        z-index: 1000;
    `;

    // 添加点击事件
    textDiv.onclick = function(e) {
        if (!isLoggedIn) {
            alert('请先登录后再使用此功能！');
            return;
        }

        e.preventDefault();
        e.stopPropagation();
        
        // 获取选中的文本，如果没有选中则获取商品标题
        const currentSelectedText = selectedText;
        if (currentSelectedText) {
            console.log('使用选中的文本:', currentSelectedText);
            copyToClipboard(currentSelectedText);
            // 清空选中的文本
            selectedText = '';
            return;
        }else {
        // 获取标题文本
        const title = titleElement.getAttribute('title') || titleElement.textContent.replace('发送到创意魔方', '').trim();
            console.log('使用商品标题:', title);
        copyToClipboard(title);
        }
        
        
    };
    //点击跳转光合佣金
    jumpDiv.onclick = function(e) {
        if (!isLoggedIn) {
            alert('请先登录后再使用此功能！');
            return;
        }
        e.preventDefault();
        e.stopPropagation();
        const productid = getUrlParameter('id');
        const url = `https://creator.guanghe.taobao.com/page/goodsPromotion?productid=${productid}`;
        window.open(url, '_blank');
    };
 
    // 将按钮添加到h1元素的后面
    titleElement.parentNode.insertBefore(copyButton, titleElement.nextSibling);
    titleElement.classList.add('title-button-added');
}

// 处理达人页面
function processTalentPage() {
    if (!isLoggedIn) return;

    // 查找search-view容器
    const searchView = document.querySelector('.search-view');
    if (!searchView) return;
    // 获取所有子元素
    const children = searchView.children;
    if (!children || children.length === 0) return;

    // 确定要添加按钮的目标元素
    const targetElement = children.length >= 4 ? children[3] : children[children.length - 1];
    
    // 检查是否已经添加过按钮
    if (targetElement.nextElementSibling && targetElement.nextElementSibling.classList.contains('select-talent-btn')) return;

    // 创建选择达人按钮
    const selectButton = document.createElement('div');
    selectButton.className = 'select-talent-btn';
    
    // 创建图片元素
    const buttonImg = document.createElement('img');
    buttonImg.src = chrome.runtime.getURL('images/icon128.png');
    buttonImg.style.cssText = `
        width: 30px;
        height: 30px;
    `;
    
    // 创建文本容器
    const textSpan = document.createElement('span');
    textSpan.innerText = '选择达人';
    textSpan.style.cssText = `
        margin-left: 12px;
    `;
    selectButton.appendChild(buttonImg);
    selectButton.appendChild(textSpan);
    
    selectButton.style.cssText = `
        width: 112px;
        height: 30px;
        display: flex;
        align-items: center;
        margin-left: 10px;
        background-color: #fff;
        color: #000;
        border: 1px solid #000000;
        border-radius: 0px 14px 14px 0px;
        cursor: pointer;
        font-size: 12px;
        vertical-align: middle;
        position: relative;
        z-index: 1000;
    `;

    // 创建下拉框容器
    const dropdownContainer = document.createElement('div');
    dropdownContainer.className = 'talent-dropdown-container';
    dropdownContainer.style.cssText = `
        max-width: 640px;
        height: 540px;
        background: #FFFFFF;
        border-radius: 10px;
        border: 2px solid #000000;
        padding: 16px 14px 6px;
        position: absolute;
        top: 10%;
        right: 30%;
        z-index: 1000;
        display: none;
    `;

    // 通过接口获取数据
    let dataList = []
    // 获取缓存中的两个token
    async function fetchDataList() {
        try {
            // 先获取token
            const tokens = await getToken();

            // 请求接口
            const response = await fetch('https://guang.wx.meikeai.net/api/taobao/list?pageNumber=1&pageSize=40', {
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': 'Bearer ' + (tokens.accessToken || ''),
                    'X-Authorization': 'Bearer ' + (tokens.xAccessToken || '')
                }
            });

            const data = await response.json();
            console.log('接口返回数据:', data);
            // 从响应头中获取token
            const accessToken = response.headers.get('access-token');
            const xAccessToken = response.headers.get('x-access-token');
            console.log('响应头中的token:', { accessToken, xAccessToken });
            if (data.statusCode == 200 && data.succeeded) {
                // 检查是否至少有一个token存在且非空
                if ((accessToken && accessToken.trim() !== '') || (xAccessToken && xAccessToken.trim() !== '')) {
                    chrome.storage.local.set({
                        accessToken: accessToken || '', // 保存access-token，如果不存在则保存空字符串
                        xAccessToken: xAccessToken || '', // 保存x-access-token，如果不存在则保存空字符串
                    });
                } else {
                    console.warn('未找到有效的token在响应头中');
                }
                return data.data.items;
            }else if (data.statusCode == 401 || data.statusCode == 403){
                alert('用户身份已失效，请退出重新登录！');
                chrome.storage.local.set({ isLoggedIn: false });
                return [];
            }else{
                alert('获取达人列表失败，请稍后重试！');
                return [];
            }
            return [];
        } catch (error) {
            console.error('获取数据失败:', error);
            return [];
        }
    }

    // 在创建下拉框之前获取数据
    fetchDataList().then(data => {
        dataList = data;
        console.log('获取到的达人列表:', dataList);

    // 创建标题和数据容器的函数
    function createTitleAndContainer() {
        const box = document.createElement('div');
        const titleElement = document.createElement('div');
        titleElement.className = 'talent-title';
        titleElement.style.cssText = `
            width: 300px;
            height: 20px;
            display: flex;
        `;

        // 创建标题列
        ['达人昵称', '逛逛号', '领域类目'].forEach(text => {
            const titleItem = document.createElement('div');
            titleItem.className = 'talent-title-item';
            titleItem.style.cssText = `
                flex: 1;
                height: 20px;
                text-align: center;
                line-height: 20px;
                font-size: 14px;
                color: #000000;
            `;
            titleItem.textContent = text;
            titleElement.appendChild(titleItem);
        });

        // 创建数据容器
        const dataContainer = document.createElement('div');
        dataContainer.className = 'talent-data-container';
        dataContainer.style.cssText = `
            width: 300px;
            height: 490px;
        `;

        box.appendChild(titleElement);
        box.appendChild(dataContainer);
        return { box, dataContainer };
    }

    // 创建数据项的函数
    function createDataItem(item, index) {
        const dataItem = document.createElement('div');
        dataItem.className = 'talent-data-item';
            dataItem.setAttribute('ggid', item.guang_id);
        dataItem.style.cssText = `
            width: 100%;
            height: 24px;
            display: flex;
            cursor: pointer;
            transition: background-color 0.3s ease;
            background-color: ${index % 2 === 1 ? '#F5F5F5' : 'transparent'};
        `;

        // 添加鼠标悬停效果
        dataItem.addEventListener('mouseenter', () => {
            dataItem.style.backgroundColor = '#FFE4E1';
        });
        dataItem.addEventListener('mouseleave', () => {
            dataItem.style.backgroundColor = index % 2 === 1 ? '#F5F5F5' : '';
        });

        // 添加点击事件
        dataItem.addEventListener('click', () => {
            const ggid = dataItem.getAttribute('ggid');
            const inputElement = document.querySelector('.next-input.next-medium.input input');
            if (inputElement) {
                inputElement.value = ggid;
                const event = new Event('input', { bubbles: true });
                inputElement.dispatchEvent(event);
            }
        });

        // 创建数据列
        const columns = [
            { 
                    text: `${index + 1}. ${item.nick_name}`, 
                extraStyle: `
                    text-align: left;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                `
            },
                { text: item.guang_id },
                { text: item.domain }
        ];

        // 基础样式
        const baseItemStyle = `
            flex: 1;
            height: 24px;
            line-height: 24px;
            font-size: 12px;
            color: #000000;
            font-weight: 300;
            text-align: center;
        `;

        columns.forEach(({ text, extraStyle = '' }) => {
            const column = document.createElement('div');
            column.textContent = text;
            column.style.cssText = `${baseItemStyle}${extraStyle}`;
            dataItem.appendChild(column);
        });

        return dataItem;
    }

    // 创建两个容器
    const { box: box1, dataContainer: dataContainer1 } = createTitleAndContainer();
    const { box: box2, dataContainer: dataContainer2 } = createTitleAndContainer();

    // 添加数据项到容器
    dataList.forEach((item, index) => {
        const dataItem = createDataItem(item, index);
        if (index < 20) {
            dataContainer1.appendChild(dataItem);
        } else {
            dataContainer2.appendChild(dataItem);
        }
    });

    // 根据数据量决定显示方式
    dropdownContainer.appendChild(box1);
    if (dataList.length > 20) {
        dropdownContainer.appendChild(box2);
    }
    });

    // 添加点击事件
    selectButton.onclick = function(e) {
        if (!isLoggedIn) {
            alert('请先登录后再使用此功能！');
            return;
        }

        e.preventDefault();
        e.stopPropagation();
        const isVisible = dropdownContainer.style.display === 'flex';
        dropdownContainer.style.display = isVisible ? 'none' : 'flex';
    };

    // 点击其他地方关闭下拉框
    document.addEventListener('click', () => {
        dropdownContainer.style.display = 'none';
    });

    searchView.appendChild(dropdownContainer);
    // 将按钮添加到目标元素后面
    if (targetElement.nextSibling) {
        searchView.insertBefore(selectButton, targetElement.nextSibling);
    } else {
        searchView.appendChild(selectButton);
    }
}

// 处理达人主页
function processTalentHomePage() {
    if (!isLoggedIn) return;

    // 使用MutationObserver监听DOM变化
    const observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
            if (mutation.type === 'childList') {
                // 查找包含nick_gender的class名的div
                const nickElements = document.querySelectorAll('div[class*="nick_gender"]');
                nickElements.forEach((element) => {
                    // 检查是否已经添加过按钮
                    if (element.nextElementSibling && element.nextElementSibling.classList.contains('copy-agent-id-btn')) {
                        return;
                    }

                    // 创建复制按钮
                    const copyButton = document.createElement('div');
                    copyButton.className = 'copy-agent-id-btn';

                    const buttonImg = document.createElement('img');
                    buttonImg.src = chrome.runtime.getURL('images/icon128.png');
                    buttonImg.style.cssText = `
                        width: 30px;
                        height: 30px;
                    `;
                    
                    // 创建文本容器
                    const textSpan = document.createElement('span');
                    textSpan.innerText = '复制达人AgentID';
                    textSpan.style.cssText = `
                        margin-left: 12px;
                        margin-right: 12px;
                    `;
                    copyButton.appendChild(buttonImg);
                    copyButton.appendChild(textSpan);

                    copyButton.style.cssText = `
                        width: 150px;
                        white-space: nowrap;
                        height: 30px;
                        display: flex;
                        align-items: center;
                        margin-left: 10px;
                        background-color: #fff;
                        color: #000;
                        border: 1px solid #000000;
                        border-radius: 0px 14px 14px 0px;
                        cursor: pointer;
                        font-size: 12px;
                        vertical-align: middle;
                        position: relative;
                        z-index: 1000;
                        margin-bottom:10px;
                    `;

                    // 添加点击事件
                    copyButton.onclick = function(e) {
                        e.preventDefault();
                        e.stopPropagation();
                        
                        // 每次点击时重新获取并解码agentId
                        const agentId = getUrlParameter('agentId');
                        
                        console.log('当前点击复制按钮时获取的agentId=>', agentId);
                        
                        if (!agentId) {
                            alert('未找到有效的agentId');
                            return;
                        }

                        const textArea = document.createElement('textarea');
                        textArea.value = agentId;
                        document.body.appendChild(textArea);
                        textArea.select();
                        document.execCommand('copy');
                        document.body.removeChild(textArea);
                        alert('agentId已复制到剪贴板');
                    };

                    // 将按钮插入到昵称元素后面
                    element.parentNode.insertBefore(copyButton, element.nextSibling);
                });
            }
        });
    });

    // 开始观察页面变化
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 为删除/发布按钮添加点击事件的函数
    function addClickEventToDeleteButton() {
        const deletebutton = document.querySelector('button.next-btn.next-medium.next-btn-primary.next-dialog-btn');

        // 检查按钮是否存在且未添加过事件
        if (deletebutton && !deletebutton.hasAttribute('data-delete-click-handler-added')) {
            console.log('找到删除/发布按钮，添加点击事件');

            deletebutton.addEventListener('click', async function(event) {
                console.log('删除/发布按钮被点击了');

                publish(1,2,pushTime)
            });

            // 标记已添加事件处理器，避免重复添加
            deletebutton.setAttribute('data-delete-click-handler-added', 'true');
            console.log('已为删除/发布按钮添加点击事件');
        }
    }

    // 监听页面DOM变化，确保删除按钮出现时能添加事件
    const deleteButtonObserver = new MutationObserver(() => {
        addClickEventToDeleteButton();
    });

    deleteButtonObserver.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 初始化时也执行一次
    addClickEventToDeleteButton();

    // 为表格行添加鼠标移入事件的函数
    function addMouseEnterEventToTableRows() {
        const tableRows = document.querySelectorAll('.next-table-row');

        tableRows.forEach((row) => {
            // 检查是否已经添加过事件
            if (!row.hasAttribute('data-table-row-mouse-handler-added')) {

                row.addEventListener('mouseenter', function(event) {
                    // 在当前行下面查找 gg-multi-worksInfo div
                    const worksInfoDiv = row.querySelector('.gg-multi-worksInfo');

                    if (worksInfoDiv) {
                        const content = worksInfoDiv.textContent || worksInfoDiv.innerText;
                        // 使用正则表达式提取时间信息
                        // 匹配两种时间格式：
                        // 1. 年-月-日 时:分:秒 (完整格式)
                        // 2. 年-月-日 时:分 (不含秒)
                        const timeMatch = content.match(/(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2})?)/);

                        if (timeMatch) {
                            pushTime = timeMatch[1];
                            console.log('提取到的时间信息:', pushTime);
                        }
                    }
                });

                // 标记已添加事件处理器，避免重复添加
                row.setAttribute('data-table-row-mouse-handler-added', 'true');
            }
        });
    }

    // 监听页面DOM变化，确保新的表格行出现时能添加事件
    const tableRowObserver = new MutationObserver(() => {
        addMouseEnterEventToTableRows();
    });

    tableRowObserver.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 初始化时也执行一次
    addMouseEnterEventToTableRows();
}

// 获取URL参数的通用函数，正确处理+号
function getUrlParameter(name) {
    const urlParams = window.location.search.substring(1);
    const params = urlParams.split('&');
    for (let param of params) {
        const [key, value] = param.split('=');
        if (key === name) {
            return decodeURIComponent(value);
        }
    }
    return null;
}
// 同步作品数量接口
async function publish(nums,tag,time){
    try {
        // 获取agentId
        const agentId = getUrlParameter('agentId');
        console.log('当前点击批量发布按钮获取的agentId=>', agentId);
        // 先获取token
        const tokens = await getToken();

        // 请求接口
        const response = await fetch('https://guang.wx.meikeai.net/api/taobao/publish', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ' + (tokens.accessToken || ''),
                'X-Authorization': 'Bearer ' + (tokens.xAccessToken || '')
            },
            body: JSON.stringify({
                agent_id: agentId,
                nums: nums,
                tag: tag,
                delete_time:time
            })
        });

        const data = await response.json();
        console.log('接口返回数据:', data);
        // 从响应头中获取token
        const accessToken = response.headers.get('access-token');
        const xAccessToken = response.headers.get('x-access-token');
        console.log('响应头中的token:', { accessToken, xAccessToken });
        if (data.statusCode == 200 && data.succeeded) {
            // 检查是否至少有一个token存在且非空
            if ((accessToken && accessToken.trim() !== '') || (xAccessToken && xAccessToken.trim() !== '')) {
                chrome.storage.local.set({
                    accessToken: accessToken || '', // 保存access-token，如果不存在则保存空字符串
                    xAccessToken: xAccessToken || '', // 保存x-access-token，如果不存在则保存空字符串
                });
            } else {
                console.warn('未找到有效的token在响应头中');
            }
        }else if (data.statusCode == 401 || data.statusCode == 403){
            alert('用户身份已失效，请退出重新登录！');
            chrome.storage.local.set({ isLoggedIn: false });
        }else{
            alert('创意魔方更新数据失败');
        }
    }catch(error){
        console.error('请求失败:', error);
        alert('网络请求失败，请稍后重试');
    }
}
// 处理批量发布页面
function processBatchPublishPage() {
    if (!isLoggedIn) return;

    // 复制span内容到input的函数
    function copySpanToInputIfInputEmpty() {
        const hvGpV = document.querySelector('.hvGpV');
        if (!hvGpV) return;
        // 只找第一个直接子span
        const firstSpan = Array.from(hvGpV.children).find(child => child.tagName.toLowerCase() === 'span');
        if (!firstSpan) return;
        const spanText = firstSpan.textContent.trim();
        const defaultText = '展开说说，你写的文字我们都喜欢:)';
        if (!spanText || spanText === defaultText) return;
        const input = document.querySelector('.next-input.next-large.next-noborder input');
        if (!input) return;
        if (!input.value) {
            input.value = spanText;
            input.dispatchEvent(new Event('input', { bubbles: true }));
            input.focus();
        }
    }

    // 为指定按钮添加点击事件的函数
    function addClickEventToButton() {
        const button = document.querySelector('button.next-btn.next-medium.next-btn-primary');
        if (button && !button.hasAttribute('data-click-handler-added')) {
            button.addEventListener('click', async function(event) {
                console.log('批量发布按钮被点击了');
                // 获取上传视频数量
                const batchNumWrap = document.querySelector('.batchNumWrap');
                let videoCount = 0;

                if (batchNumWrap) {
                    const text = batchNumWrap.textContent || batchNumWrap.innerText;
                    console.log('batchNumWrap文本内容:', text);

                    // 使用正则表达式提取（数字/数字）中的第一个数字
                    const match = text.match(/（(\d+)\/\d+）/);
                    if (match) {
                        videoCount = parseInt(match[1], 10);
                        console.log('当前上传视频数量:', videoCount);
                    } else {
                        console.log('未能解析视频数量，原始文本:', text);
                    }
                } else {
                    console.log('未找到.batchNumWrap元素');
                }

                console.log('最终获取的视频数量:', videoCount);
                publish(videoCount,1,'0')
                
            });
            // 标记已添加事件处理器，避免重复添加
            button.setAttribute('data-click-handler-added', 'true');
            console.log('已为批量发布按钮添加点击事件');
        }
    }

    // 监听.hvGpV下子元素变化（比如新span出现）
    const hvGpV = document.querySelector('.hvGpV');
    if (hvGpV) {
        // 监听子列表变化
        const childObserver = new MutationObserver(() => {
            copySpanToInputIfInputEmpty();
        });
        childObserver.observe(hvGpV, { childList: true });

        // 监听第一个span文本变化
        const firstSpan = Array.from(hvGpV.children).find(child => child.tagName.toLowerCase() === 'span');
        if (firstSpan) {
            const textObserver = new MutationObserver(() => {
                copySpanToInputIfInputEmpty();
            });
            textObserver.observe(firstSpan, { characterData: true, subtree: true });
        }

        // 初始化时也执行一次
        copySpanToInputIfInputEmpty();
    }

    // 监听页面DOM变化，确保按钮出现时能添加事件
    const buttonObserver = new MutationObserver(() => {
        addClickEventToButton();
    });

    buttonObserver.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 初始化时也执行一次
    addClickEventToButton();
}

// 查看商品佣金页面
function processGoodsPromotionPage() {
    if (!isLoggedIn) return;

    // 防止重复执行的标记
    if (document.body.hasAttribute('data-goods-promotion-processed')) {
        return;
    }
    searchProduct()
    // 标记已处理，防止重复执行
    document.body.setAttribute('data-goods-promotion-processed', 'true');

    // 如果需要在URL变化时重新处理，可以监听URL变化
    let currentUrl = window.location.href;
    const urlCheckInterval = setInterval(() => {
        if (window.location.href !== currentUrl) {
            currentUrl = window.location.href;
            // URL变化时移除标记，允许重新处理
            document.body.removeAttribute('data-goods-promotion-processed');
            clearInterval(urlCheckInterval);
        }
    }, 1000);
}
//处理搜索商品
function searchProduct(){
// 获取url中商品id
    const productid = getUrlParameter('productid');
    console.log('当前商品id=>', productid);
    if(productid == null) return;
    //找打搜索框searchInput
    const searchInput = document.querySelector('.searchInput');
    if (!searchInput) return;
    searchInput.value = ''
    searchInput.value = productid;
    searchInput.dispatchEvent(new Event('input', { bubbles: true }));
    searchInput.focus();
    // 找到搜索按钮
    const searchButton = document.querySelector('.searchButton');
    setTimeout(() => {
        searchButton.click();
    }, 200);
}

// 修改checkAndProcessPage函数，添加新页面的处理
function checkAndProcessPage() {
    const currentUrl = window.location.href;
    if (currentUrl.includes('mcn.guanghe.taobao.com/page/talent/home')) {
        processTalentHomePage();
    } else if (currentUrl.includes('detail.tmall.com') || currentUrl.includes('item.taobao.com') || currentUrl.includes('detail.tmall.hk')|| currentUrl.includes('chaoshi.detail.tmall.com')) {
        processTmallPage();
    } else if (currentUrl.includes('item.jd.com')) {
        processJDPage();
    } else if (currentUrl.includes('mcn.guanghe.taobao.com')) {
        processTalentPage();
    } else if (currentUrl.includes('huodong.taobao.com/wow/z/guang/gg_publish/gg-batch-video')) {
        processBatchPublishPage();
    }else if (currentUrl.includes('creator.guanghe.taobao.com/page/goodsPromotion')){
        processGoodsPromotionPage();
    }
}

// 监听页面变化
const observer = new MutationObserver(() => {
    if (isLoggedIn) {
        checkAndProcessPage();
    }
});

// 开始观察页面变化
observer.observe(document.body, {
    childList: true,
    subtree: true,
    characterData: true,
    attributes: true
});

// 页面加载完成后执行一次
document.addEventListener('DOMContentLoaded', () => {
    checkLoginStatus();
    checkAndProcessPage();
});

// 为了确保在页面动态加载的情况下也能执行
window.addEventListener('load', () => {
    checkLoginStatus();
    checkAndProcessPage();
}); 